package ln.javatest.day07.demo01;
/*
一旦使用static修饰成员方法，那么这就成为了静态方法。静态方法它。不属于对象，而是属于类。
如果没有static关键字，那么必须首先创建对象，然后通过对象才能使用

无论是成员变量，还是成员方法。如果有了static，都推荐使用类名称进行调用。
静态变量：类名称.静态变量
静态方法：类名称.静态方法()

注意事项：
1.静态不能直接访问非静态
原因：因为在内存当中是【先】有的静态的内容，【后】有的非静态内容。
“先人不知道后人，但是后人知道先人”
2.静态方法中不能使用this关键字
原因：this代表当前对象，通过谁调用的方法，谁就是对象。静态是通过类调用的方法。
*/

public class Demo02StaticMethod {
    public static void main(String[] args) {
        //首先创建对象
        MyClass obj = new MyClass();
        //然后才能使用没有static关键字的内容
        obj.method();
        //对于静态方法来说，可以通过对象名进行调用，也可以直接通过类名称来调用
        //正确，不推荐，这种写法在编译后也会被java翻译成 类名称.静态方法名 来调用
        obj.methodStatic();
        //正确，推荐
        MyClass.methodStatic();
        //对于本类当中的静态方法，可以省略类名称
        myMerhod();
        Demo02StaticMethod.myMerhod();
        //上面两条完全等效
    }
    public static void myMerhod(){
        System.out.println("自己的静态方法！");
    }
}
